//
//  SArrayLayout.h
//  BanggoPhone
//
//  Created by Samuel on 15/8/4.
//  Copyright (c) 2015年 BG. All rights reserved.
//

#import <Foundation/Foundation.h>
@class SLayoutModel;
@interface SArrayLayout : NSObject

@property (nonatomic , strong)NSMutableArray *targetDataArray;
/**
 *  key = 优先级的下标  value = 功能名称
 */
@property (nonatomic , strong)NSMutableDictionary *subscriptNameDictionary;
/**
 *  key = 功能名称  value = 优先级的下标
 */
@property (nonatomic , strong)NSMutableDictionary *nameSubscriptDictionary;
/**
 *  key = 功能名称  value = 是否开启唯一性功能
 */
@property (nonatomic , strong)NSMutableDictionary *AbsoluteDictionary;
/**
 *  初始化布局对象
 *
 *  @param targetDataArray 需要操作的数组数据
 *
 *  @return self
 */
- (id)initWithTargetDataArray:(NSMutableArray*)targetDataArray;
/**
 *  添加布局参数
 *
 *  @param layoutName   功能名称
 *  @param linterger    功能优先级（顺序）
                        0为最高，依次递增，不能重复，可以有间隔数据：如（0，5，6，7，10）
 *  @param isBeAbsolute 只允许存在一个
 */
- (void)addLayoutFuntionsWithName:(NSString*)layoutName
                andLayoutLocation:(NSInteger)linterger
                    andIsAbsolute:(BOOL)isBeAbsolute;
/**
 *  获取数组，执行添加功能
 *
 *  @param funtionName 功能名
                       isBeAbsolute=yes是，传入相同功能名称数据会更新原有数据
 *  @param objectDatas 对象数据
 *  @param temp        模版号
 *
 *  @return  
 */
- (NSMutableArray*)getTargetDataArrayByFuntionName:(NSString*)funtionName
                                     andObjectData:(id)objectDatas
                                           andTemp:(NSInteger)temp;


@end

@interface SLayoutModel : NSObject
/**
 *  功能名称
 */
@property (nonatomic, strong)NSString *funtionName;
/**
 *  传入的对象
 */
@property (nonatomic, strong)id objectData;
/**
 *  使用的布局
 */
@property (nonatomic,assign)NSInteger temp;
/**
 *  优先级
 */
@property (nonatomic,assign)NSInteger locationInterger;

@end
